﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public partial class RR408Response : global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.IRR408Response {
        
        private decimal @__veakood;
        
        private string @__veatekst;
        
        private System.Collections.Generic.List<RR408Response.IIsikudType> @__isikud = new System.Collections.Generic.List<RR408Response.IIsikudType>();
        
        public RR408Response() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public RR408Response(decimal @veakood, string @veatekst, System.Collections.Generic.List<RR408Response.IIsikudType> @isikud) {
            this.@__veakood = @veakood;
            this.@__veatekst = @veatekst;
            this.@__isikud = @isikud;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected RR408Response(IRR408Response @rR408Response) {
            this.@__veakood = @rR408Response.Veakood;
            this.@__veatekst = @rR408Response.Veatekst;
            this.@__isikud = @rR408Response.Isikud;
        }
        
        public virtual decimal Veakood {
            get {
                return this.@__veakood;
            }
            set {
                this.@__veakood = value;
            }
        }
        
        public virtual string Veatekst {
            get {
                return this.@__veatekst;
            }
            set {
                this.@__veatekst = value;
            }
        }
        
        public virtual System.Collections.Generic.List<RR408Response.IIsikudType> Isikud {
            get {
                return this.@__isikud;
            }
            set {
                this.@__isikud = value;
            }
        }
        
        public partial class IsikudType : IIsikudType {
            
            private string @__isikudIsikukood;
            
            private string @__isikudEesnimi;
            
            private string @__isikudPerenimi;
            
            private string @__isikudIsikuOlek;
            
            private string @__isikudSurmakuupaev;
            
            private string @__isikudKoda;
            
            private string @__isikudKodakondsus;
            
            private string @__isikudEelKoda;
            
            private string @__isikudEelKodakondsus;
            
            private string @__isikudElukohatyyp;
            
            private string @__isikudElukohaAadress;
            
            private string @__isikudPostiindeks;
            
            private string @__isikudSideandmed;
            
            public IsikudType() {
            }
            
            /// <summary>
            /// All parameters
            /// </summary>
            public IsikudType(string @isikudIsikukood, string @isikudEesnimi, string @isikudPerenimi, string @isikudIsikuOlek, string @isikudSurmakuupaev, string @isikudKoda, string @isikudKodakondsus, string @isikudEelKoda, string @isikudEelKodakondsus, string @isikudElukohatyyp, string @isikudElukohaAadress, string @isikudPostiindeks, string @isikudSideandmed) {
                this.@__isikudIsikukood = @isikudIsikukood;
                this.@__isikudEesnimi = @isikudEesnimi;
                this.@__isikudPerenimi = @isikudPerenimi;
                this.@__isikudIsikuOlek = @isikudIsikuOlek;
                this.@__isikudSurmakuupaev = @isikudSurmakuupaev;
                this.@__isikudKoda = @isikudKoda;
                this.@__isikudKodakondsus = @isikudKodakondsus;
                this.@__isikudEelKoda = @isikudEelKoda;
                this.@__isikudEelKodakondsus = @isikudEelKodakondsus;
                this.@__isikudElukohatyyp = @isikudElukohatyyp;
                this.@__isikudElukohaAadress = @isikudElukohaAadress;
                this.@__isikudPostiindeks = @isikudPostiindeks;
                this.@__isikudSideandmed = @isikudSideandmed;
            }
            
            /// <summary>
            /// Copy Constructor
            /// </summary>
            protected IsikudType(IIsikudType @isikudType) {
                this.@__isikudIsikukood = @isikudType.IsikudIsikukood;
                this.@__isikudEesnimi = @isikudType.IsikudEesnimi;
                this.@__isikudPerenimi = @isikudType.IsikudPerenimi;
                this.@__isikudIsikuOlek = @isikudType.IsikudIsikuOlek;
                this.@__isikudSurmakuupaev = @isikudType.IsikudSurmakuupaev;
                this.@__isikudKoda = @isikudType.IsikudKoda;
                this.@__isikudKodakondsus = @isikudType.IsikudKodakondsus;
                this.@__isikudEelKoda = @isikudType.IsikudEelKoda;
                this.@__isikudEelKodakondsus = @isikudType.IsikudEelKodakondsus;
                this.@__isikudElukohatyyp = @isikudType.IsikudElukohatyyp;
                this.@__isikudElukohaAadress = @isikudType.IsikudElukohaAadress;
                this.@__isikudPostiindeks = @isikudType.IsikudPostiindeks;
                this.@__isikudSideandmed = @isikudType.IsikudSideandmed;
            }
            
            public virtual string IsikudIsikukood {
                get {
                    return this.@__isikudIsikukood;
                }
                set {
                    this.@__isikudIsikukood = value;
                }
            }
            
            public virtual string IsikudEesnimi {
                get {
                    return this.@__isikudEesnimi;
                }
                set {
                    this.@__isikudEesnimi = value;
                }
            }
            
            public virtual string IsikudPerenimi {
                get {
                    return this.@__isikudPerenimi;
                }
                set {
                    this.@__isikudPerenimi = value;
                }
            }
            
            public virtual string IsikudIsikuOlek {
                get {
                    return this.@__isikudIsikuOlek;
                }
                set {
                    this.@__isikudIsikuOlek = value;
                }
            }
            
            public virtual string IsikudSurmakuupaev {
                get {
                    return this.@__isikudSurmakuupaev;
                }
                set {
                    this.@__isikudSurmakuupaev = value;
                }
            }
            
            public virtual string IsikudKoda {
                get {
                    return this.@__isikudKoda;
                }
                set {
                    this.@__isikudKoda = value;
                }
            }
            
            public virtual string IsikudKodakondsus {
                get {
                    return this.@__isikudKodakondsus;
                }
                set {
                    this.@__isikudKodakondsus = value;
                }
            }
            
            public virtual string IsikudEelKoda {
                get {
                    return this.@__isikudEelKoda;
                }
                set {
                    this.@__isikudEelKoda = value;
                }
            }
            
            public virtual string IsikudEelKodakondsus {
                get {
                    return this.@__isikudEelKodakondsus;
                }
                set {
                    this.@__isikudEelKodakondsus = value;
                }
            }
            
            public virtual string IsikudElukohatyyp {
                get {
                    return this.@__isikudElukohatyyp;
                }
                set {
                    this.@__isikudElukohatyyp = value;
                }
            }
            
            public virtual string IsikudElukohaAadress {
                get {
                    return this.@__isikudElukohaAadress;
                }
                set {
                    this.@__isikudElukohaAadress = value;
                }
            }
            
            public virtual string IsikudPostiindeks {
                get {
                    return this.@__isikudPostiindeks;
                }
                set {
                    this.@__isikudPostiindeks = value;
                }
            }
            
            public virtual string IsikudSideandmed {
                get {
                    return this.@__isikudSideandmed;
                }
                set {
                    this.@__isikudSideandmed = value;
                }
            }
        }
        
        public interface IIsikudType {
            
            string IsikudIsikukood {
                get;
                set;
            }
            
            string IsikudEesnimi {
                get;
                set;
            }
            
            string IsikudPerenimi {
                get;
                set;
            }
            
            string IsikudIsikuOlek {
                get;
                set;
            }
            
            string IsikudSurmakuupaev {
                get;
                set;
            }
            
            string IsikudKoda {
                get;
                set;
            }
            
            string IsikudKodakondsus {
                get;
                set;
            }
            
            string IsikudEelKoda {
                get;
                set;
            }
            
            string IsikudEelKodakondsus {
                get;
                set;
            }
            
            string IsikudElukohatyyp {
                get;
                set;
            }
            
            string IsikudElukohaAadress {
                get;
                set;
            }
            
            string IsikudPostiindeks {
                get;
                set;
            }
            
            string IsikudSideandmed {
                get;
                set;
            }
        }
    }
}
